package com.zyh.service;

import com.zyh.po.Blog;
import com.zyh.vo.BlogQuery;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface BlogService {

    Blog getBlog(Long id);//查询一个博客

    Blog getAndConvert(Long id);//处理博客详情文本内容

    Page<Blog> listBlog(Pageable pageable, BlogQuery blog); //分页查询 把查询条件封装成blog对象

    Page<Blog> listBlog(Pageable pageable);//分页查询

    Page<Blog> listBlog(Long tagId,Pageable pageable);//根据tag查询博客

    Page<Blog> listBlog(String query, Pageable pageable);//搜索查询

    List<Blog> listRecommendBlogTop(Integer size);//推荐的博客列表

    Map<String,List<Blog>> archiveBlog();//归档 把所有博客按照年份分类

    Long countBlog(); //返回条数

    Blog saveBlog(Blog blog);//新增

    Blog updateBlog(Long id,Blog blog);//先查询一个对象，再修改

    void deleteBlog(Long id);

}
